from add_employee_transaction import AddEmployeeTransaction
from payment_classification import PaymentClassification
from payment_schedule import PaymentSchedule
from weekly_schedule import WeeklySchedule
from hourly_classification import HourlyClassification

class AddHourlyEmployee(AddEmployeeTransaction):
    def __init__(self) -> None:
        pass

    def add_hourly_transaction(self, emp_id: int, name, address, hourly_rate) -> None:
        super().add_employee_transaction(emp_id, name, address)
        self.hourly_rate = hourly_rate

    def get_classification(self) -> PaymentClassification:
        return HourlyClassification(self.hourly_rate)
    
    def get_schedule(self) -> PaymentSchedule:
        return WeeklySchedule()